/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.proyecto.datos;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

/**
 *
 * @author mario
 */
public class EntityDetalleAlumno implements OperacionesDB {

    private int id_detalle_alumno;
    int id_alumno;
    int id_horario_lab;
    private int id_grupo;
    private String entAlumno;
    private String entHorario;
    private int entGrupo;

    public EntityDetalleAlumno() {
    }

    public EntityDetalleAlumno(int id_detalle_alumno, String entAlumno, String entHorario, int entGrupo) {
        this.id_detalle_alumno = id_detalle_alumno;
        this.entAlumno = entAlumno;
        this.entHorario = entHorario;
        this.entGrupo = entGrupo;
    }

    public String getEntHorario() {
        return entHorario;
    }

    public void setEntHorario(String entHorario) {
        this.entHorario = entHorario;
    }

    public int getId_detalle_alumno() {
        return id_detalle_alumno;
    }

    public void setId_detalle_alumno(int id_detalle_alumno) {
        this.id_detalle_alumno = id_detalle_alumno;
    }

    public String getEntAlumno() {
        return entAlumno;
    }

    public void setEntAlumno(String entAlumno) {
        this.entAlumno = entAlumno;
    }

    @Override
    public String EjecutarComando(String cadenaSQL) {

        Connection cn;
        Statement st;
        String msj;
        try {
            ConnDB db = new ConnDB();
            Class.forName(db.getDriver());
            cn = DriverManager.getConnection(db.getCadenaCon(), db.getUsuario(), db.getContrasenna());

            st = cn.createStatement();
            st.execute(cadenaSQL);
            st.close();
            cn.close();
            msj = "Comando ejecutado con exito";
        } catch (Exception ex) {
            msj = "El comando no pudo ser ejecutado";
            System.out.println(ex.toString());
        }
        return msj;

    }

    @Override
    public ArrayList EjecutarConsulta(String cadenaSQL) {

        ArrayList arry = new ArrayList();
        Connection cn;
        Statement st;
        ResultSet rs;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/Biblioteca?zeroDateTimeBehavior=convertToNull", "root", "INGSISdj63.");
            st = cn.createStatement();
            rs = st.executeQuery(cadenaSQL);
            rs.beforeFirst();
            while (rs.next()) {
                arry.add(new EntityDetalleAlumno(rs.getInt("detal.id_detalle_alumno"), rs.getString("al.nombre"), rs.getString("hora.horario"), rs.getInt("grupo.grupo")));
            }
            rs.close();
            st.close();
            cn.close();
        } catch (Exception ex) {
            arry = null;
            System.out.println(ex.toString());
        }
        return arry;

    }
    
    
    public String EjecutarComandoEspecial(String cadenaSQL, String cadenaSQL1, String cadenaSQL2) {

        Connection cn;
        Statement st;
        Statement st1;
        Statement st2;
        String msj;
        try {
            ConnDB db = new ConnDB();
            Class.forName(db.getDriver());
            cn = DriverManager.getConnection(db.getCadenaCon(), db.getUsuario(), db.getContrasenna());

            st = cn.createStatement();
            st1 = cn.createStatement();
            st2= cn.createStatement();
            
            st.execute(cadenaSQL);
            st1.execute(cadenaSQL1);
            st2.execute(cadenaSQL2);
            st.close();
            st1.close();
            st2.close();
            cn.close();
            msj = "Comando ejecutado con exito";
        } catch (Exception ex) {
            msj = "El comando no pudo ser ejecutado";
            System.out.println(ex.toString());
        }
        return msj;

    }

    public int getEntGrupo() {
        return entGrupo;
    }

    public void setEntGrupo(int entGrupo) {
        this.entGrupo = entGrupo;
    }
}
